As it may be known, there may be an ever greater expectation that a device with a smart card, namely an integrated circuit card equipped with a microprocessor, will manage the exchange of information between software applications and the user by sequences of interactive screens. The term “interactive screen” is taken to mean an overall view of items of data appropriately displayed on the screen of the device. It may be possible for the user to observe, select, confirm, and/or modify such data by acting on appropriate input peripherals or provided buttons, joystick, touch screen, stylus, trackwheel, trackball, etc.
However, to meet such requirements and to find widespread and advantageous use, when creating such screens, the smart cards should be suitable to occupy few memory resources, because, as may be known, a smart card has limited memory due to its design, and be suitable to generate pages quickly to be able to meet user requirements to the greatest possible extent. The most common devices with smart cards are cellular telephones, handheld computers, personal computers equipped with a dedicated port, routers, anti-theft systems, and other similar devices.
Prior art teaches making interactive screens, such as, for example, a phonebook in a cellular telephone by displaying a list of data on a display. In such a case, as shown in FIG. 1, a cellular telephone 1, equipped with a smart card 3, accesses by appropriate communications protocols, such as standard technical specifications ISO 7816-3 and ISO 7816-4, files held in the smart card 3 memory by a dedicated application, stored in the cellular telephone 1 and activatable, for example, of a phonebook button 4.
The elementary file or EF 5 of the smart card, which comprises the phonebook stored in a standard format, is identified with the hexadecimal code EF 6F3A and, as may be known, is a GSM file according to technical specification 3GPP TS 51.011, and contains the phonebook data. A display layout of such a phonebook is shown in FIG. 2, and in this case EF 5 comprises:
first record: Amedeo Amedeo's number
second record: Agostino Agostino's number and so on. On a user request, by pressing the phonebook button 4, EF 5 is opened and its content, appropriately interpreted, is displayed on the display.
This kind of application, while adequate, may be unattractive to a user wishing to interact quickly with the data displayed and stored in EF 5, for example, by changing names and telephone numbers, or associating a photo or email account addresses with each contact or other multimedia application. Furthermore, users may express greater demand for screens comprising portions which are automatically updated each time the application is activated, for example, to display information regarding the weather, the latest news from a news service, or commercial information relating to a telephone operator or other similar functions. Furthermore, one disadvantage may be associated with the interface, namely the numeric keypad, which cellular telephones have, because interaction with the data is somewhat complex to manage using such numeric keys.
One approach for overcoming such disadvantages is to make display layouts using a web or World Wide Web type interface, namely a display similar to the web pages displayed on the internet. Such a display layout may enhance interactivity between the user and device and to exploit the potential of the web pages themselves. Furthermore, a greater variety of controls and interaction may be available using check boxes, radio buttons, multiple selections, and text fields, which can be accessed, for example, with a joypad, multifunction keypads, or touch screens.
One approach, shown in FIG. 3, provides a second type of cellular telephone 10, which comprises a browser 12, which may be activated with standard functionality for Internet browsing, by a radio-signal interface, and may be activated to communicate directly with a smart card 13 when the entered URL address is of a predefined type, for example http://smartcard/. Such a browser 12 may also be known as a “web browser”.
As it may be known, web pages may be created by strings of HTML instructions belonging to the HTML (acronym for HyperText Markup Language) markup language. A communications protocol used for exchanging data between the web pages stored on the smart card and the web browser running on the cellular telephone is documented in technical specification OMA TS Smart Card Web Server version 1.0 and subsequent versions, supervised by the Open Mobile Alliance, a consortium also known by the acronym OMA. The OMA TS Smart Card Web Server specification adopts some mechanisms already in use by internet web servers and other mechanisms present in the GSM protocol, for example, SIM Applied Toolkit Bearer Independent Protocol, also known by the acronym SIP, such as technical specification ETSI TS 101 267, in turn based on 3GPP TS 51.014.
In such a case, the smart card 13 may include a web server 16 or Smart Card Web Server, which enables the transmission of both static and dynamic web-like pages described using strings of HTML instructions to the browser 12. Static web-like pages may be stored in a memory portion of the smart card 13, held, for example, in a static page file 15, and transferred by the web server 16 to the browser 12 without further processing.
Dynamic web-like pages, in the case of the present example, may be created by instructions executed by a JcRE or Javacard Run-time Environment block 18 based upon instructions stored in the Java™ Servlets subblock 19, and with appropriate access to some files stored in the smart card, such as specifically the phonebook elementary file EF 5. In such a case, the phonebook display layout on the display of the cellular telephone 10 may be of greater or lesser complexity, an example being shown in FIG. 4. Such a phonebook may be personalized because the JcRE block 18 of the smart card 13 may allow storage of display preferences for each user, for example, with the indication “Andrea's phonebook”. Furthermore, in addition to the name and telephone number, each row of the display layout may include two links respectively making it possible to “Change name” and “Change number”.
Moreover, a logo or trademark, indicated schematically in FIG. 4 with the number 9, or the use of specific colors associated with a telephone operator connected to the smart card 13 may be displayed automatically. In particular, the appearance of the display layout may be independent of the device used.
The phonebook may also be displayed by making use of the conventional dedicated application stored on the cellular telephone 10, which may be activated, for example, by the phonebook button 14, in a similar manner to the previously described example, with the data obtained from EF 5 of the smart card 13. In this case, the phonebook display layout may have an appearance and a structure which may vary depending on the device into which the smart card 13 has been inserted.
Such an approach involving the creation of dynamic web-like pages by strings of HTML instructions, while satisfactory in many respects, does however exhibit several major disadvantages. In particular, it may be known that the basic structure of the HTML language, known as an HTML element, is enclosed within markup tags. Each tag is made up of a sequence of characters enclosed between two angle brackets, as shown for example in FIG. 5B. Some strings of HTML elements may include an “opening tag” and a “closing tag”, while in others, the closing tag is optional. Based upon suitable string coding, some tags may have the function of formatting the stated data as items of information, defining their font, color and shape, while others have the function of indicating specific, defined applications to the browser, such as, for example, that of permitting certain actions by the user, and others make it possible to insert an image at a given location on the generated page web and so on.
HTML instruction strings are accordingly of a descriptive nature and may be somewhat lengthy, requiring considerable time to be processed and transmitted to the cellular telephone browser, even if transmitted in a compacted form. Furthermore, such HTML instruction strings may require considerable memory resources in the smart card to be processed.
It may also be well known that HTML instructions allow the inclusion of other instructions, processed by the server before transmission, making it possible to add control of the graphic resolution of the displayed layout, sections to be “conditionally” displayed, dynamic interaction with the user, interactive animation and multimedia content for creating dynamic web-like pages. Various programming languages have been developed for this purpose. Among the most widely used languages are ASP, based on Microsoft® development elements, JSP, based on Java™ oriented technology, and PHP, the acronym for Hypertext Preprocessor, which is a scripting language.
FIG. 5A shows an example of PHP language, processing of which produces the HTML instruction strings shown in FIG. 5B. In the example, the text shown in bold “<?php echo “Hello World!<p>”; ?>” replaces the text “Hello world!<p>” in HTML language.
Such possible and attractive applications may make processing considerably more complex, and the above-stated disadvantages more serious. FIGS. 6A and 6B further show an example of HTML instruction strings in a mixed HTML-PHP language, while FIGS. 7A and 7B show the corresponding display layout. In each case, instruction strings in PHP language, although permitting a quantitative reduction in the content of the processing files, but not a reduction in occupied memory space, may increase the speed of transmission to the web browser and the speed of execution of such instructions by the browser, and consequently may diminish, but may not overcome the above-stated disadvantages by increasing the processing load for a web server.
The technical problem underlying the present invention is that of making and providing a method for generating at least one portion of a data display layout on a device equipped with at least one smart card having structural and functional features of a nature to permit a dramatic reduction in the memory resources for the smart card allowing acceleration of processing: the method may be simultaneously usable to code HTML instructions and being readily implemented in systems for generating a display layout on a display of a device comprising at least one smart card, thus overcoming the limits and the drawbacks still affecting the prior art methods and devices.